package cn.iocoder.yudao.module.wrzj.dal.mysql.wrzjuser;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.wrzj.controller.admin.wrzjuser.vo.WrzjUserPageReqVO;
import cn.iocoder.yudao.module.wrzj.dal.dataobject.wrzjuser.WrzjUserDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 伟人之家-用户 Mapper
 *
 * @author 运掌科技
 */
@Mapper
public interface WrzjUserMapper extends BaseMapperX<WrzjUserDO> {

    default PageResult<WrzjUserDO> selectPage(WrzjUserPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<WrzjUserDO>()
                .likeIfPresent(WrzjUserDO::getMobile, reqVO.getMobile())
                .eqIfPresent(WrzjUserDO::getAuthorized, reqVO.getAuthorized())
                .eqIfPresent(WrzjUserDO::getStatus, reqVO.getStatus())
                .eqIfPresent(WrzjUserDO::getOpenid, reqVO.getOpenid())
                .eqIfPresent(WrzjUserDO::getRegisterIp, reqVO.getRegisterIp())
                .eqIfPresent(WrzjUserDO::getLoginIp, reqVO.getLoginIp())
                .betweenIfPresent(WrzjUserDO::getLoginDate, reqVO.getLoginDate())
                .likeIfPresent(WrzjUserDO::getNickname, reqVO.getNickname())
                .eqIfPresent(WrzjUserDO::getSex, reqVO.getSex())
                .betweenIfPresent(WrzjUserDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(WrzjUserDO::getId));
    }

}
